package com.xinnet.core.validate;

import java.util.Properties;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

import com.xinnet.core.validate.attribute.Currency;

/**
 * 货币用的Validator类。
 * 
 * @author wenjianye 请输入数字。
 * 
 */
public class CurrencyValidator  extends Validator implements ConstraintValidator<Currency, Object> {

	private static final String REGEX_PATTERN_DIGIT = "^(|-)[0-9]*";
	private static Properties prop;
	@Override
	public void initialize(Currency arg0) {

	}

	/**
	 * 接口的验证方法
	 * */
	@Override
	public boolean isValid(Object value,
			ConstraintValidatorContext constraintContext) {

		return super.isValid(value,constraintContext);
	}

	/**
	 * 验证属性的方法 未通过验证:返回false; 通过验证: 返回 true;
	 * */
	public boolean valid(Object value) {
		if (value == null || value instanceof Number) {
			return false;
		}
		return ValidatorUtil.patternMatches(REGEX_PATTERN_DIGIT, value);
	}

	/**
	 * 未通过验证时,提示错误信息
	 * */
	public String getMessage() {
		return prop
				.getProperty(this.getClass().getName());
	}

}
